package com.mj.service.system;

import java.util.List;
import java.util.Map;
import java.util.Set;

import com.mj.model.system.Menu;


public interface MenuService {
	
	 Menu selectById(Integer menuId);

	 List<Menu> getMenuList(Integer pid);
    
	 List<Menu> getMenuByIdList(String []ids,String menuName);
	 
	 
	 /**
     * 修改
     * @param menu
     * @return
     */
    int updateMenu(Menu menu);
    /**
     * 新增菜单
     * @param menu
     * @return
     */
    int insertMenu(Menu menu);
    
    /**
     * 删除
     * @param id
     * @return
     */
    int deleteByMenuId(Integer id);
    
    /**
     * 软删除
     * @param menuId
     * @param available
     * @return
     */
    int updateByMenuId(Integer menuId,Integer available);
    
    /**
     * 
     * @return
     */
    List<Menu> findAll(Map<String,Object> map);
    
    /**
     * 得到资源对应的权限字符串
     * @param resourceIds
     * @return
     */
    Set<String> findPermissions(String resourceIds);
    /**
     * 根据权限获取对应菜单
     * @param roleid
     * @return
     */
    Set<String> getMenusByPermisson(int roleid);
    
    /**
     * 菜单增、删、改操作
     * @param oper
     * @param ids
     * @param m
     * @return
     */
    String CUDMenu(String oper,String ids,Menu m);
    /**
     * 判断是否根据菜单名称返回相应list
     * @param mlist
     * @param name
     * @return
     */
    List<Map<String,Object>> loadByMenuName(List<Menu> mlist,String name);
    
    List<Menu> findAllMenuButtons();
}
